#include <bits/stdc++.h>
// 2025/01/30
// tag:
// Author: Zhang Muen
using namespace std;

int64_t factor[200001];

void init()
{
    factor[0] = 1;
    for (int i = 1; i <= 200000; i++) {
        factor[i] = i * factor[i - 1] % 998244353;
    }
}

int64_t quick_pow(int64_t x, int64_t n, int64_t m)
{
    int64_t res = 1;
    while (n > 0) {
        if (n & 1)
            res = res * x % m;
        x = x * x % m;
        n >>= 1;
    }
    return res;
}

int64_t C(int64_t n, int64_t m)
{
    if (m > n)
        return 0;
    return factor[n] * quick_pow(factor[m] * factor[n - m] % 998244353, 998244351, 998244353) % 998244353;
}

signed main()
{
    int m, n, x, y;
    cin >> m >> n >> x >> y;
    init();
    if (x <= n && y <= n || x > n && y > n) {
        cout << C(n + m - 1, m - 1) * C(n + x - y + m - 1, m - 1) % 998244353 << endl;
        return 0;
    }
    int64_t ans = 0;
    for (int i = 1; i <= m; i++) {
        ans += (C(i + x - 2, i - 1) * C(n - x + m - i, m - i) % 998244353) * (C(y - n - 1 + m - i, m - i) * C(2 * n - y + i - 1, i - 1) % 998244353);
        ans %= 998244353;
    }
    cout << ans << endl;
    return 0;
}